import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class Environment implements IConvertible
{
String? Title;
String? Code;
Environment({this.Title,this.Code});
Environment.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Title = json['Title'];
Code = json['Code'];
return this;
}
Map<String, dynamic> toJson() => {
'Title': Title,
'Code': Code
};
getTypeName() => "Environment";
TypeContext? context = _ctx;
}
class Party implements IConvertible
{
String? Title;
String? Code;
String? Version;
Environment? Environment;
Party({this.Title,this.Code,this.Version,this.Environment});
Party.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Title = json['Title'];
Code = json['Code'];
Version = json['Version'];
Environment = JsonConverters.fromJson(json['Environment'],'Environment',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Title': Title,
'Code': Code,
'Version': Version,
'Environment': JsonConverters.toJson(Environment,'Environment',context!)
};
getTypeName() => "Party";
TypeContext? context = _ctx;
}
class Header implements IConvertible
{
String? MessageID;
DateTime? Timestamp;
Party? Sender;
Party? Recipient;
dynamic? RequestMessageID;
Header({this.MessageID,this.Timestamp,this.Sender,this.Recipient,this.RequestMessageID});
Header.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
MessageID = json['MessageID'];
Timestamp = JsonConverters.fromJson(json['Timestamp'],'DateTime',context!);
Sender = JsonConverters.fromJson(json['Sender'],'Party',context!);
Recipient = JsonConverters.fromJson(json['Recipient'],'Party',context!);
RequestMessageID = JsonConverters.fromJson(json['RequestMessageID'],'dynamic',context!);
return this;
}
Map<String, dynamic> toJson() => {
'MessageID': MessageID,
'Timestamp': JsonConverters.toJson(Timestamp,'DateTime',context!),
'Sender': JsonConverters.toJson(Sender,'Party',context!),
'Recipient': JsonConverters.toJson(Recipient,'Party',context!),
'RequestMessageID': JsonConverters.toJson(RequestMessageID,'dynamic',context!)
};
getTypeName() => "Header";
TypeContext? context = _ctx;
}
class Reference implements IConvertible
{
String? GlobalID;
String? Title;
Reference({this.GlobalID,this.Title});
Reference.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
GlobalID = json['GlobalID'];
Title = json['Title'];
return this;
}
Map<String, dynamic> toJson() => {
'GlobalID': GlobalID,
'Title': Title
};
getTypeName() => "Reference";
TypeContext? context = _ctx;
}
class Address implements IConvertible
{
String? AddressLine1;
String? AddressLine2;
String? HouseNumber;
String? HouseNumberSuffix;
String? PostalCode;
String? City;
Reference? Country;
Address({this.AddressLine1,this.AddressLine2,this.HouseNumber,this.HouseNumberSuffix,this.PostalCode,this.City,this.Country});
Address.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
AddressLine1 = json['AddressLine1'];
AddressLine2 = json['AddressLine2'];
HouseNumber = json['HouseNumber'];
HouseNumberSuffix = json['HouseNumberSuffix'];
PostalCode = json['PostalCode'];
City = json['City'];
Country = JsonConverters.fromJson(json['Country'],'Reference',context!);
return this;
}
Map<String, dynamic> toJson() => {
'AddressLine1': AddressLine1,
'AddressLine2': AddressLine2,
'HouseNumber': HouseNumber,
'HouseNumberSuffix': HouseNumberSuffix,
'PostalCode': PostalCode,
'City': City,
'Country': JsonConverters.toJson(Country,'Reference',context!)
};
getTypeName() => "Address";
TypeContext? context = _ctx;
}
class MailingAddress implements IConvertible
{
String? POBox;
String? PostalCode;
String? City;
Reference? Country;
MailingAddress({this.POBox,this.PostalCode,this.City,this.Country});
MailingAddress.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
POBox = json['POBox'];
PostalCode = json['PostalCode'];
City = json['City'];
Country = JsonConverters.fromJson(json['Country'],'Reference',context!);
return this;
}
Map<String, dynamic> toJson() => {
'POBox': POBox,
'PostalCode': PostalCode,
'City': City,
'Country': JsonConverters.toJson(Country,'Reference',context!)
};
getTypeName() => "MailingAddress";
TypeContext? context = _ctx;
}
class Project implements IConvertible
{
String? GlobalID;
DateTime? CreationDate;
String? CreatedBy;
DateTime? ModifiedDate;
String? ModifiedBy;
String? Code;
String? Name;
String? Description1;
String? Description2;
Address? Address;
MailingAddress? MailingAddress;
Reference? ProjectCategoryReference;
Reference? ProjectTypeReference;
Reference? ProjectStatusReference;
DateTime? StartDate;
DateTime? EndDate;
DateTime? CompletionDate;
bool? Inactive;
String? Website;
bool? IsTemplateProject;
List<CustomField>? CustomFields;
Project({this.GlobalID,this.CreationDate,this.CreatedBy,this.ModifiedDate,this.ModifiedBy,this.Code,this.Name,this.Description1,this.Description2,this.Address,this.MailingAddress,this.ProjectCategoryReference,this.ProjectTypeReference,this.ProjectStatusReference,this.StartDate,this.EndDate,this.CompletionDate,this.Inactive,this.Website,this.IsTemplateProject,this.CustomFields});
Project.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
GlobalID = json['GlobalID'];
CreationDate = JsonConverters.fromJson(json['CreationDate'],'DateTime',context!);
CreatedBy = json['CreatedBy'];
ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!);
ModifiedBy = json['ModifiedBy'];
Code = json['Code'];
Name = json['Name'];
Description1 = json['Description1'];
Description2 = json['Description2'];
Address = JsonConverters.fromJson(json['Address'],'Address',context!);
MailingAddress = JsonConverters.fromJson(json['MailingAddress'],'MailingAddress',context!);
ProjectCategoryReference = JsonConverters.fromJson(json['ProjectCategoryReference'],'Reference',context!);
ProjectTypeReference = JsonConverters.fromJson(json['ProjectTypeReference'],'Reference',context!);
ProjectStatusReference = JsonConverters.fromJson(json['ProjectStatusReference'],'Reference',context!);
StartDate = JsonConverters.fromJson(json['StartDate'],'DateTime',context!);
EndDate = JsonConverters.fromJson(json['EndDate'],'DateTime',context!);
CompletionDate = JsonConverters.fromJson(json['CompletionDate'],'DateTime',context!);
Inactive = json['Inactive'];
Website = json['Website'];
IsTemplateProject = json['IsTemplateProject'];
CustomFields = JsonConverters.fromJson(json['CustomFields'],'List<CustomField>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'GlobalID': GlobalID,
'CreationDate': JsonConverters.toJson(CreationDate,'DateTime',context!),
'CreatedBy': CreatedBy,
'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!),
'ModifiedBy': ModifiedBy,
'Code': Code,
'Name': Name,
'Description1': Description1,
'Description2': Description2,
'Address': JsonConverters.toJson(Address,'Address',context!),
'MailingAddress': JsonConverters.toJson(MailingAddress,'MailingAddress',context!),
'ProjectCategoryReference': JsonConverters.toJson(ProjectCategoryReference,'Reference',context!),
'ProjectTypeReference': JsonConverters.toJson(ProjectTypeReference,'Reference',context!),
'ProjectStatusReference': JsonConverters.toJson(ProjectStatusReference,'Reference',context!),
'StartDate': JsonConverters.toJson(StartDate,'DateTime',context!),
'EndDate': JsonConverters.toJson(EndDate,'DateTime',context!),
'CompletionDate': JsonConverters.toJson(CompletionDate,'DateTime',context!),
'Inactive': Inactive,
'Website': Website,
'IsTemplateProject': IsTemplateProject,
'CustomFields': JsonConverters.toJson(CustomFields,'List<CustomField>',context!)
};
getTypeName() => "Project";
TypeContext? context = _ctx;
}
class ProjectResponseMessage implements IConvertible
{
Header? Header;
Reference? ProjectReference;
Project? Project;
List<HousingType>? HousingTypes;
List<ConstructionBlock>? ConstructionBlocks;
List<ConstructionNumber>? ConstructionNumbers;
List<Document>? Documents;
List<PurchaseContract>? PurchaseContracts;
ProjectResponseMessage({this.Header,this.ProjectReference,this.Project,this.HousingTypes,this.ConstructionBlocks,this.ConstructionNumbers,this.Documents,this.PurchaseContracts});
ProjectResponseMessage.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Header = JsonConverters.fromJson(json['Header'],'Header',context!);
ProjectReference = JsonConverters.fromJson(json['ProjectReference'],'Reference',context!);
Project = JsonConverters.fromJson(json['Project'],'Project',context!);
HousingTypes = JsonConverters.fromJson(json['HousingTypes'],'List<HousingType>',context!);
ConstructionBlocks = JsonConverters.fromJson(json['ConstructionBlocks'],'List<ConstructionBlock>',context!);
ConstructionNumbers = JsonConverters.fromJson(json['ConstructionNumbers'],'List<ConstructionNumber>',context!);
Documents = JsonConverters.fromJson(json['Documents'],'List<Document>',context!);
PurchaseContracts = JsonConverters.fromJson(json['PurchaseContracts'],'List<PurchaseContract>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Header': JsonConverters.toJson(Header,'Header',context!),
'ProjectReference': JsonConverters.toJson(ProjectReference,'Reference',context!),
'Project': JsonConverters.toJson(Project,'Project',context!),
'HousingTypes': JsonConverters.toJson(HousingTypes,'List<HousingType>',context!),
'ConstructionBlocks': JsonConverters.toJson(ConstructionBlocks,'List<ConstructionBlock>',context!),
'ConstructionNumbers': JsonConverters.toJson(ConstructionNumbers,'List<ConstructionNumber>',context!),
'Documents': JsonConverters.toJson(Documents,'List<Document>',context!),
'PurchaseContracts': JsonConverters.toJson(PurchaseContracts,'List<PurchaseContract>',context!)
};
getTypeName() => "ProjectResponseMessage";
TypeContext? context = _ctx;
}
class ProjectRequestMessage implements IConvertible
{
Header? Header;
Reference? ProjectReference;
bool? IncludeHousingTypes;
bool? IncludeConstructionBlocks;
bool? IncludeConstructionNumbers;
bool? IncludeDocuments;
bool? IncludePurchaseContracts;
ProjectRequestMessage({this.Header,this.ProjectReference,this.IncludeHousingTypes,this.IncludeConstructionBlocks,this.IncludeConstructionNumbers,this.IncludeDocuments,this.IncludePurchaseContracts});
ProjectRequestMessage.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Header = JsonConverters.fromJson(json['Header'],'Header',context!);
ProjectReference = JsonConverters.fromJson(json['ProjectReference'],'Reference',context!);
IncludeHousingTypes = json['IncludeHousingTypes'];
IncludeConstructionBlocks = json['IncludeConstructionBlocks'];
IncludeConstructionNumbers = json['IncludeConstructionNumbers'];
IncludeDocuments = json['IncludeDocuments'];
IncludePurchaseContracts = json['IncludePurchaseContracts'];
return this;
}
Map<String, dynamic> toJson() => {
'Header': JsonConverters.toJson(Header,'Header',context!),
'ProjectReference': JsonConverters.toJson(ProjectReference,'Reference',context!),
'IncludeHousingTypes': IncludeHousingTypes,
'IncludeConstructionBlocks': IncludeConstructionBlocks,
'IncludeConstructionNumbers': IncludeConstructionNumbers,
'IncludeDocuments': IncludeDocuments,
'IncludePurchaseContracts': IncludePurchaseContracts
};
getTypeName() => "ProjectRequestMessage";
TypeContext? context = _ctx;
}
class ProcessProjectRequestMessage implements IConvertible
{
String? InstanceId;
ProjectRequestMessage? ProjectRequest;
ProcessProjectRequestMessage({this.InstanceId,this.ProjectRequest});
ProcessProjectRequestMessage.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
InstanceId = json['InstanceId'];
ProjectRequest = JsonConverters.fromJson(json['ProjectRequest'],'ProjectRequestMessage',context!);
return this;
}
Map<String, dynamic> toJson() => {
'InstanceId': InstanceId,
'ProjectRequest': JsonConverters.toJson(ProjectRequest,'ProjectRequestMessage',context!)
};
getTypeName() => "ProcessProjectRequestMessage";
TypeContext? context = _ctx;
}
class CustomField implements IConvertible
{
String? Name;
String? Value;
CustomField({this.Name,this.Value});
CustomField.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Name = json['Name'];
Value = json['Value'];
return this;
}
Map<String, dynamic> toJson() => {
'Name': Name,
'Value': Value
};
getTypeName() => "CustomField";
TypeContext? context = _ctx;
}
class HousingType implements IConvertible
{
String? GlobalID;
Reference? ProjectReference;
String? Code;
String? Description;
List<CustomField>? CustomFields;
DateTime? CreationDate;
String? CreatedBy;
DateTime? ModifiedDate;
String? ModifiedBy;
HousingType({this.GlobalID,this.ProjectReference,this.Code,this.Description,this.CustomFields,this.CreationDate,this.CreatedBy,this.ModifiedDate,this.ModifiedBy});
HousingType.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
GlobalID = json['GlobalID'];
ProjectReference = JsonConverters.fromJson(json['ProjectReference'],'Reference',context!);
Code = json['Code'];
Description = json['Description'];
CustomFields = JsonConverters.fromJson(json['CustomFields'],'List<CustomField>',context!);
CreationDate = JsonConverters.fromJson(json['CreationDate'],'DateTime',context!);
CreatedBy = json['CreatedBy'];
ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!);
ModifiedBy = json['ModifiedBy'];
return this;
}
Map<String, dynamic> toJson() => {
'GlobalID': GlobalID,
'ProjectReference': JsonConverters.toJson(ProjectReference,'Reference',context!),
'Code': Code,
'Description': Description,
'CustomFields': JsonConverters.toJson(CustomFields,'List<CustomField>',context!),
'CreationDate': JsonConverters.toJson(CreationDate,'DateTime',context!),
'CreatedBy': CreatedBy,
'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!),
'ModifiedBy': ModifiedBy
};
getTypeName() => "HousingType";
TypeContext? context = _ctx;
}
class ConstructionBlock implements IConvertible
{
String? GlobalID;
Reference? ProjectReference;
String? Code;
String? Description;
List<CustomField>? CustomFields;
DateTime? CreationDate;
String? CreatedBy;
DateTime? ModifiedDate;
String? ModifiedBy;
ConstructionBlock({this.GlobalID,this.ProjectReference,this.Code,this.Description,this.CustomFields,this.CreationDate,this.CreatedBy,this.ModifiedDate,this.ModifiedBy});
ConstructionBlock.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
GlobalID = json['GlobalID'];
ProjectReference = JsonConverters.fromJson(json['ProjectReference'],'Reference',context!);
Code = json['Code'];
Description = json['Description'];
CustomFields = JsonConverters.fromJson(json['CustomFields'],'List<CustomField>',context!);
CreationDate = JsonConverters.fromJson(json['CreationDate'],'DateTime',context!);
CreatedBy = json['CreatedBy'];
ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!);
ModifiedBy = json['ModifiedBy'];
return this;
}
Map<String, dynamic> toJson() => {
'GlobalID': GlobalID,
'ProjectReference': JsonConverters.toJson(ProjectReference,'Reference',context!),
'Code': Code,
'Description': Description,
'CustomFields': JsonConverters.toJson(CustomFields,'List<CustomField>',context!),
'CreationDate': JsonConverters.toJson(CreationDate,'DateTime',context!),
'CreatedBy': CreatedBy,
'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!),
'ModifiedBy': ModifiedBy
};
getTypeName() => "ConstructionBlock";
TypeContext? context = _ctx;
}
class ConstructionNumber implements IConvertible
{
String? GlobalID;
Reference? ProjectReference;
Reference? HousingTypeReference;
Reference? ConstructionBlockReference;
String? Code;
String? Description;
Address? Address;
bool? RentalHouse;
String? GuaranteeCertificateNumber;
bool? Inactive;
List<CustomField>? CustomFields;
DateTime? CreationDate;
String? CreatedBy;
DateTime? ModifiedDate;
String? ModifiedBy;
DateTime? ViewingDate;
bool? ViewingDateSpecified;
DateTime? DeliveryDate;
bool? DeliveryDateSpecified;
ConstructionNumber({this.GlobalID,this.ProjectReference,this.HousingTypeReference,this.ConstructionBlockReference,this.Code,this.Description,this.Address,this.RentalHouse,this.GuaranteeCertificateNumber,this.Inactive,this.CustomFields,this.CreationDate,this.CreatedBy,this.ModifiedDate,this.ModifiedBy,this.ViewingDate,this.ViewingDateSpecified,this.DeliveryDate,this.DeliveryDateSpecified});
ConstructionNumber.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
GlobalID = json['GlobalID'];
ProjectReference = JsonConverters.fromJson(json['ProjectReference'],'Reference',context!);
HousingTypeReference = JsonConverters.fromJson(json['HousingTypeReference'],'Reference',context!);
ConstructionBlockReference = JsonConverters.fromJson(json['ConstructionBlockReference'],'Reference',context!);
Code = json['Code'];
Description = json['Description'];
Address = JsonConverters.fromJson(json['Address'],'Address',context!);
RentalHouse = json['RentalHouse'];
GuaranteeCertificateNumber = json['GuaranteeCertificateNumber'];
Inactive = json['Inactive'];
CustomFields = JsonConverters.fromJson(json['CustomFields'],'List<CustomField>',context!);
CreationDate = JsonConverters.fromJson(json['CreationDate'],'DateTime',context!);
CreatedBy = json['CreatedBy'];
ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!);
ModifiedBy = json['ModifiedBy'];
ViewingDate = JsonConverters.fromJson(json['ViewingDate'],'DateTime',context!);
ViewingDateSpecified = json['ViewingDateSpecified'];
DeliveryDate = JsonConverters.fromJson(json['DeliveryDate'],'DateTime',context!);
DeliveryDateSpecified = json['DeliveryDateSpecified'];
return this;
}
Map<String, dynamic> toJson() => {
'GlobalID': GlobalID,
'ProjectReference': JsonConverters.toJson(ProjectReference,'Reference',context!),
'HousingTypeReference': JsonConverters.toJson(HousingTypeReference,'Reference',context!),
'ConstructionBlockReference': JsonConverters.toJson(ConstructionBlockReference,'Reference',context!),
'Code': Code,
'Description': Description,
'Address': JsonConverters.toJson(Address,'Address',context!),
'RentalHouse': RentalHouse,
'GuaranteeCertificateNumber': GuaranteeCertificateNumber,
'Inactive': Inactive,
'CustomFields': JsonConverters.toJson(CustomFields,'List<CustomField>',context!),
'CreationDate': JsonConverters.toJson(CreationDate,'DateTime',context!),
'CreatedBy': CreatedBy,
'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!),
'ModifiedBy': ModifiedBy,
'ViewingDate': JsonConverters.toJson(ViewingDate,'DateTime',context!),
'ViewingDateSpecified': ViewingDateSpecified,
'DeliveryDate': JsonConverters.toJson(DeliveryDate,'DateTime',context!),
'DeliveryDateSpecified': DeliveryDateSpecified
};
getTypeName() => "ConstructionNumber";
TypeContext? context = _ctx;
}
class Document implements ICustomProperties, IConvertible
{
String? ID;
String? RootDocumentID;
String? RegistrationprofileID;
String? Title;
String? FullTitle;
String? Number;
String? Version;
String? ExternalNumber;
String? ExternalVersion;
String? InternalNumber;
String? InternalInvoiceNumber;
int? PersonID;
int? RelationID;
String? RelationTitle;
int? ProjectID;
String? ProjectTitle;
String? Extension;
DateTime? Date;
int? CommentsCount;
bool? HasComments;
bool? HasPreview;
String? ExtraField;
bool? IsFavorite;
String? DocumentcategoryText;
int? FileSize;
DateTime? FileDate;
String? Hash;
String? HashType;
String? FileUrl;
String? StandardDocumentUrl;
bool? IsCorporateIdentity;
String? UserTitle;
bool? IsFrozen;
int? InternalCompanyID;
String? DirectUrl;
bool? AllowDigitalSigningOnlyOnPrimaryVersions;
bool? IsPrimaryVersion;
String? FileExtension;
Map<String,dynamic?>? CustomProperties;
Document({this.ID,this.RootDocumentID,this.RegistrationprofileID,this.Title,this.FullTitle,this.Number,this.Version,this.ExternalNumber,this.ExternalVersion,this.InternalNumber,this.InternalInvoiceNumber,this.PersonID,this.RelationID,this.RelationTitle,this.ProjectID,this.ProjectTitle,this.Extension,this.Date,this.CommentsCount,this.HasComments,this.HasPreview,this.ExtraField,this.IsFavorite,this.DocumentcategoryText,this.FileSize,this.FileDate,this.Hash,this.HashType,this.FileUrl,this.StandardDocumentUrl,this.IsCorporateIdentity,this.UserTitle,this.IsFrozen,this.InternalCompanyID,this.DirectUrl,this.AllowDigitalSigningOnlyOnPrimaryVersions,this.IsPrimaryVersion,this.FileExtension,this.CustomProperties});
Document.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ID = json['ID'];
RootDocumentID = json['RootDocumentID'];
RegistrationprofileID = json['RegistrationprofileID'];
Title = json['Title'];
FullTitle = json['FullTitle'];
Number = json['Number'];
Version = json['Version'];
ExternalNumber = json['ExternalNumber'];
ExternalVersion = json['ExternalVersion'];
InternalNumber = json['InternalNumber'];
InternalInvoiceNumber = json['InternalInvoiceNumber'];
PersonID = json['PersonID'];
RelationID = json['RelationID'];
RelationTitle = json['RelationTitle'];
ProjectID = json['ProjectID'];
ProjectTitle = json['ProjectTitle'];
Extension = json['Extension'];
Date = JsonConverters.fromJson(json['Date'],'DateTime',context!);
CommentsCount = json['CommentsCount'];
HasComments = json['HasComments'];
HasPreview = json['HasPreview'];
ExtraField = json['ExtraField'];
IsFavorite = json['IsFavorite'];
DocumentcategoryText = json['DocumentcategoryText'];
FileSize = json['FileSize'];
FileDate = JsonConverters.fromJson(json['FileDate'],'DateTime',context!);
Hash = json['Hash'];
HashType = json['HashType'];
FileUrl = json['FileUrl'];
StandardDocumentUrl = json['StandardDocumentUrl'];
IsCorporateIdentity = json['IsCorporateIdentity'];
UserTitle = json['UserTitle'];
IsFrozen = json['IsFrozen'];
InternalCompanyID = json['InternalCompanyID'];
DirectUrl = json['DirectUrl'];
AllowDigitalSigningOnlyOnPrimaryVersions = json['AllowDigitalSigningOnlyOnPrimaryVersions'];
IsPrimaryVersion = json['IsPrimaryVersion'];
FileExtension = json['FileExtension'];
CustomProperties = JsonConverters.fromJson(json['CustomProperties'],'Map<String,dynamic?>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ID': ID,
'RootDocumentID': RootDocumentID,
'RegistrationprofileID': RegistrationprofileID,
'Title': Title,
'FullTitle': FullTitle,
'Number': Number,
'Version': Version,
'ExternalNumber': ExternalNumber,
'ExternalVersion': ExternalVersion,
'InternalNumber': InternalNumber,
'InternalInvoiceNumber': InternalInvoiceNumber,
'PersonID': PersonID,
'RelationID': RelationID,
'RelationTitle': RelationTitle,
'ProjectID': ProjectID,
'ProjectTitle': ProjectTitle,
'Extension': Extension,
'Date': JsonConverters.toJson(Date,'DateTime',context!),
'CommentsCount': CommentsCount,
'HasComments': HasComments,
'HasPreview': HasPreview,
'ExtraField': ExtraField,
'IsFavorite': IsFavorite,
'DocumentcategoryText': DocumentcategoryText,
'FileSize': FileSize,
'FileDate': JsonConverters.toJson(FileDate,'DateTime',context!),
'Hash': Hash,
'HashType': HashType,
'FileUrl': FileUrl,
'StandardDocumentUrl': StandardDocumentUrl,
'IsCorporateIdentity': IsCorporateIdentity,
'UserTitle': UserTitle,
'IsFrozen': IsFrozen,
'InternalCompanyID': InternalCompanyID,
'DirectUrl': DirectUrl,
'AllowDigitalSigningOnlyOnPrimaryVersions': AllowDigitalSigningOnlyOnPrimaryVersions,
'IsPrimaryVersion': IsPrimaryVersion,
'FileExtension': FileExtension,
'CustomProperties': JsonConverters.toJson(CustomProperties,'Map<String,dynamic?>',context!)
};
getTypeName() => "Document";
TypeContext? context = _ctx;
}
class Relation implements IConvertible
{
String? GlobalID;
String? NameLine1;
String? NameLine2;
Address? Address;
MailingAddress? MailingAddress;
String? Telephone;
String? Mobile;
String? Email;
String? IBAN;
String? BankAccountNumber;
String? Website;
bool? Inactive;
List<CustomField>? CustomFields;
DateTime? CreationDate;
String? CreatedBy;
DateTime? ModifiedDate;
String? ModifiedBy;
Relation({this.GlobalID,this.NameLine1,this.NameLine2,this.Address,this.MailingAddress,this.Telephone,this.Mobile,this.Email,this.IBAN,this.BankAccountNumber,this.Website,this.Inactive,this.CustomFields,this.CreationDate,this.CreatedBy,this.ModifiedDate,this.ModifiedBy});
Relation.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
GlobalID = json['GlobalID'];
NameLine1 = json['NameLine1'];
NameLine2 = json['NameLine2'];
Address = JsonConverters.fromJson(json['Address'],'Address',context!);
MailingAddress = JsonConverters.fromJson(json['MailingAddress'],'MailingAddress',context!);
Telephone = json['Telephone'];
Mobile = json['Mobile'];
Email = json['Email'];
IBAN = json['IBAN'];
BankAccountNumber = json['BankAccountNumber'];
Website = json['Website'];
Inactive = json['Inactive'];
CustomFields = JsonConverters.fromJson(json['CustomFields'],'List<CustomField>',context!);
CreationDate = JsonConverters.fromJson(json['CreationDate'],'DateTime',context!);
CreatedBy = json['CreatedBy'];
ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!);
ModifiedBy = json['ModifiedBy'];
return this;
}
Map<String, dynamic> toJson() => {
'GlobalID': GlobalID,
'NameLine1': NameLine1,
'NameLine2': NameLine2,
'Address': JsonConverters.toJson(Address,'Address',context!),
'MailingAddress': JsonConverters.toJson(MailingAddress,'MailingAddress',context!),
'Telephone': Telephone,
'Mobile': Mobile,
'Email': Email,
'IBAN': IBAN,
'BankAccountNumber': BankAccountNumber,
'Website': Website,
'Inactive': Inactive,
'CustomFields': JsonConverters.toJson(CustomFields,'List<CustomField>',context!),
'CreationDate': JsonConverters.toJson(CreationDate,'DateTime',context!),
'CreatedBy': CreatedBy,
'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!),
'ModifiedBy': ModifiedBy
};
getTypeName() => "Relation";
TypeContext? context = _ctx;
}
class PurchaseContract implements IConvertible
{
String? GlobalID;
String? Code;
String? Description;
Reference? ProjectReference;
String? ProductCode;
Relation? Relation;
bool? Inactive;
List<CustomField>? CustomFields;
DateTime? CreationDate;
String? CreatedBy;
DateTime? ModifiedDate;
String? ModifiedBy;
PurchaseContract({this.GlobalID,this.Code,this.Description,this.ProjectReference,this.ProductCode,this.Relation,this.Inactive,this.CustomFields,this.CreationDate,this.CreatedBy,this.ModifiedDate,this.ModifiedBy});
PurchaseContract.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
GlobalID = json['GlobalID'];
Code = json['Code'];
Description = json['Description'];
ProjectReference = JsonConverters.fromJson(json['ProjectReference'],'Reference',context!);
ProductCode = json['ProductCode'];
Relation = JsonConverters.fromJson(json['Relation'],'Relation',context!);
Inactive = json['Inactive'];
CustomFields = JsonConverters.fromJson(json['CustomFields'],'List<CustomField>',context!);
CreationDate = JsonConverters.fromJson(json['CreationDate'],'DateTime',context!);
CreatedBy = json['CreatedBy'];
ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!);
ModifiedBy = json['ModifiedBy'];
return this;
}
Map<String, dynamic> toJson() => {
'GlobalID': GlobalID,
'Code': Code,
'Description': Description,
'ProjectReference': JsonConverters.toJson(ProjectReference,'Reference',context!),
'ProductCode': ProductCode,
'Relation': JsonConverters.toJson(Relation,'Relation',context!),
'Inactive': Inactive,
'CustomFields': JsonConverters.toJson(CustomFields,'List<CustomField>',context!),
'CreationDate': JsonConverters.toJson(CreationDate,'DateTime',context!),
'CreatedBy': CreatedBy,
'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!),
'ModifiedBy': ModifiedBy
};
getTypeName() => "PurchaseContract";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'kpm_digiofficeapigateway.tbi.nl', types: <String, TypeInfo> {
'Environment': TypeInfo(TypeOf.Class, create:() => Environment()),
'Party': TypeInfo(TypeOf.Class, create:() => Party()),
'Header': TypeInfo(TypeOf.Class, create:() => Header()),
'Reference': TypeInfo(TypeOf.Class, create:() => Reference()),
'Address': TypeInfo(TypeOf.Class, create:() => Address()),
'MailingAddress': TypeInfo(TypeOf.Class, create:() => MailingAddress()),
'Project': TypeInfo(TypeOf.Class, create:() => Project()),
'List<CustomField>': TypeInfo(TypeOf.Class, create:() => <CustomField>[]),
'CustomField': TypeInfo(TypeOf.Class, create:() => CustomField()),
'ProjectResponseMessage': TypeInfo(TypeOf.Class, create:() => ProjectResponseMessage()),
'List<HousingType>': TypeInfo(TypeOf.Class, create:() => <HousingType>[]),
'HousingType': TypeInfo(TypeOf.Class, create:() => HousingType()),
'List<ConstructionBlock>': TypeInfo(TypeOf.Class, create:() => <ConstructionBlock>[]),
'ConstructionBlock': TypeInfo(TypeOf.Class, create:() => ConstructionBlock()),
'List<ConstructionNumber>': TypeInfo(TypeOf.Class, create:() => <ConstructionNumber>[]),
'ConstructionNumber': TypeInfo(TypeOf.Class, create:() => ConstructionNumber()),
'List<Document>': TypeInfo(TypeOf.Class, create:() => <Document>[]),
'Document': TypeInfo(TypeOf.Class, create:() => Document()),
'List<PurchaseContract>': TypeInfo(TypeOf.Class, create:() => <PurchaseContract>[]),
'PurchaseContract': TypeInfo(TypeOf.Class, create:() => PurchaseContract()),
'ProjectRequestMessage': TypeInfo(TypeOf.Class, create:() => ProjectRequestMessage()),
'ProcessProjectRequestMessage': TypeInfo(TypeOf.Class, create:() => ProcessProjectRequestMessage()),
'Map<String,dynamic?>': TypeInfo(TypeOf.Class, create:() => Map<String,dynamic?>()),
'Relation': TypeInfo(TypeOf.Class, create:() => Relation()),
});
Dart ProcessProjectRequestMessage DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/ProcessProjectRequestMessage HTTP/1.1
Host: kpm_digiofficeapigateway.tbi.nl
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
ProjectRequest:
{
Header:
{
MessageID: String,
Timestamp: 0001-01-01,
Sender:
{
Title: String,
Code: String,
Version: String,
Environment:
{
Title: String,
Code: String
}
},
Recipient:
{
Title: String,
Code: String,
Version: String,
Environment:
{
Title: String,
Code: String
}
},
RequestMessageID: {}
},
ProjectReference:
{
GlobalID: String,
Title: String
},
IncludeHousingTypes: False,
IncludeConstructionBlocks: False,
IncludeConstructionNumbers: False,
IncludeDocuments: False,
IncludePurchaseContracts: False
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Header:
{
MessageID: String,
Timestamp: 0001-01-01,
Sender:
{
Title: String,
Code: String,
Version: String,
Environment:
{
Title: String,
Code: String
}
},
Recipient:
{
Title: String,
Code: String,
Version: String,
Environment:
{
Title: String,
Code: String
}
},
RequestMessageID: {}
},
ProjectReference:
{
GlobalID: String,
Title: String
},
Project:
{
GlobalID: String,
CreationDate: 0001-01-01,
CreatedBy: String,
ModifiedDate: 0001-01-01,
ModifiedBy: String,
Code: String,
Name: String,
Description1: String,
Description2: String,
Address:
{
AddressLine1: String,
AddressLine2: String,
HouseNumber: String,
HouseNumberSuffix: String,
PostalCode: String,
City: String,
Country:
{
GlobalID: String,
Title: String
}
},
MailingAddress:
{
POBox: String,
PostalCode: String,
City: String,
Country:
{
GlobalID: String,
Title: String
}
},
ProjectCategoryReference:
{
GlobalID: String,
Title: String
},
ProjectTypeReference:
{
GlobalID: String,
Title: String
},
ProjectStatusReference:
{
GlobalID: String,
Title: String
},
StartDate: 0001-01-01,
EndDate: 0001-01-01,
CompletionDate: 0001-01-01,
Inactive: False,
Website: String,
IsTemplateProject: False,
CustomFields:
[
{
Name: String,
Value: String
}
]
},
HousingTypes:
[
{
GlobalID: String,
ProjectReference:
{
GlobalID: String,
Title: String
},
Code: String,
Description: String,
CustomFields:
[
{
Name: String,
Value: String
}
],
CreationDate: 0001-01-01,
CreatedBy: String,
ModifiedDate: 0001-01-01,
ModifiedBy: String
}
],
ConstructionBlocks:
[
{
GlobalID: String,
ProjectReference:
{
GlobalID: String,
Title: String
},
Code: String,
Description: String,
CustomFields:
[
{
Name: String,
Value: String
}
],
CreationDate: 0001-01-01,
CreatedBy: String,
ModifiedDate: 0001-01-01,
ModifiedBy: String
}
],
ConstructionNumbers:
[
{
GlobalID: String,
ProjectReference:
{
GlobalID: String,
Title: String
},
HousingTypeReference:
{
GlobalID: String,
Title: String
},
ConstructionBlockReference:
{
GlobalID: String,
Title: String
},
Code: String,
Description: String,
Address:
{
AddressLine1: String,
AddressLine2: String,
HouseNumber: String,
HouseNumberSuffix: String,
PostalCode: String,
City: String,
Country:
{
GlobalID: String,
Title: String
}
},
RentalHouse: False,
GuaranteeCertificateNumber: String,
Inactive: False,
CustomFields:
[
{
Name: String,
Value: String
}
],
CreationDate: 0001-01-01,
CreatedBy: String,
ModifiedDate: 0001-01-01,
ModifiedBy: String,
ViewingDate: 0001-01-01,
ViewingDateSpecified: False,
DeliveryDate: 0001-01-01,
DeliveryDateSpecified: False
}
],
Documents:
[
{
GlobalID: String,
RootDocumentID: String,
Code: String,
Subject: String,
VersionNumber: String,
NewestVersion: False,
RelationReference:
{
GlobalID: String,
Title: String
},
DocumentTypeReference:
{
GlobalID: String,
Title: String
},
ProjectReference:
{
GlobalID: String,
Title: String
},
ConstructionBlockReference:
{
GlobalID: String,
Title: String
},
ConstructionNumberReference:
{
GlobalID: String,
Title: String
},
HousingTypeReference:
{
GlobalID: String,
Title: String
},
Floor: 0,
FloorSpecified: False,
DeletedDate: 0001-01-01,
DeletedDateSpecified: False,
File:
{
Type: String,
Name: String,
Size: 0,
Content: String,
ModifiedDate: 0001-01-01
},
CustomFields:
[
{
Name: String,
Value: String
}
],
CreationDate: 0001-01-01,
CreatedBy: String,
ModifiedDate: 0001-01-01,
ModifiedBy: String
}
],
PurchaseContracts:
[
{
GlobalID: String,
Code: String,
Description: String,
ProjectReference:
{
GlobalID: String,
Title: String
},
ProductCode: String,
Relation:
{
GlobalID: String,
NameLine1: String,
NameLine2: String,
Address:
{
AddressLine1: String,
AddressLine2: String,
HouseNumber: String,
HouseNumberSuffix: String,
PostalCode: String,
City: String,
Country:
{
GlobalID: String,
Title: String
}
},
MailingAddress:
{
POBox: String,
PostalCode: String,
City: String,
Country:
{
GlobalID: String,
Title: String
}
},
Telephone: String,
Mobile: String,
Email: String,
IBAN: String,
BankAccountNumber: String,
Website: String,
Inactive: False,
CustomFields:
[
{
Name: String,
Value: String
}
],
CreationDate: 0001-01-01,
CreatedBy: String,
ModifiedDate: 0001-01-01,
ModifiedBy: String
},
Inactive: False,
CustomFields:
[
{
Name: String,
Value: String
}
],
CreationDate: 0001-01-01,
CreatedBy: String,
ModifiedDate: 0001-01-01,
ModifiedBy: String
}
]
}